<?php

class Application_Form_PlanoSaude_Insere extends Zend_Form {

    private $codigo;

    public function __construct($codigo = null) {
        $this->codigo = $codigo;
        parent::__construct();
    }

    public function init() {
        $parceria = null;
        if (!$this->isNew()) {
            $model = Application_Model_PlanoSaude::getInstance();
            $parceria = $model->getById($this->codigo);

            $id = new Zend_Form_Element_Text('codigo');
            $id->setLabel('Código do Plano de Saúde');
            $id->setAttrib('readonly', 'readonly');
            $id->setValue($parceria['codigo']);
            $this->addElement($id);
        }

        $this->setAction('/planoSaude/insere/novo');
        $this->setMethod('post');
        $this->setName('pesquisa_conteudo_form');

        $nome = new Zend_Form_Element_Text('descricao');
        $nome->setLabel('Nome do Plano de Saúde');
        $nome->setValue(!$this->isNew() ? $parceria['descricao'] : '');
        $this->addElement($nome);

        if ($this->isNew()) {
            $hdDtCadastro = new Zend_Form_Element_Hidden("dt_cadastro");
            $hdDtCadastro->setValue(Zend_Date::now()->get('Y/M/d'));
            $this->addElement($hdDtCadastro);
        } else {
            $hdDtCadastro = new Zend_Form_Element_Text("dt_cadastro");
            $hdDtCadastro->setLabel('Data de Cadastro');
            $hdDtCadastro->setAttrib('readonly', 'readonly');
            $hdDtCadastro->setValue($parceria['dt_cadastro']);
            $hdDtCadastro->addFilter(new Zend_Filter_Date());
            $this->addElement($hdDtCadastro);
        }

        /* $atividades = new Zend_Form_Element_Select('atividade');
          $atividades->addMultiOptions($this->getOptionsAtividade());
          $this->addElement($atividades); */

        $hdDtExclusao = new Zend_Form_Element_Hidden("dt_exclusao");
        $hdDtExclusao->addFilter(new Zend_Filter_Date());
        $this->addElement($hdDtExclusao);

        $this->getTableAtividades();
    }

    private function isNew() {
        return!isset($this->codigo);
    }

    private function getOptionsAtividade() {
        $atividadesModel = Application_Model_Atividade::getInstance();
        $lista[0] = 'Selecione';
        foreach ($atividadesModel->getAtividadeLista() as $value) {
            $lista[$value['codigo']] = $value['descricao'];
        }
        return $lista;
    }

    private function getTableAtividades() {
        $atividadesModel = Application_Model_Atividade::getInstance();
        $filter = new Zend_Filter_Money();
        $modelPreco = Application_Model_PrecoAtividade::getInstance();

        $atividades = Array();
        if (isset($this->codigo)) {
            $atividades = $modelPreco->getByPlanoSaude($this->codigo);
        }

        $table = '<table class="table table-bordered table-striped" style="width:700px;"> 
                    <thead>
                        <tr>
                            <th>Enviados</th>
                            <th>Atividade</th>
                            <th>Valor</th>
                            <th>Código no Plano de Saúde</th>
                        </tr>
                    </thead>
                    <tbody>';
        foreach ($atividadesModel->getAtividadeLista() as $index => $value) {

            $valor = "";
            $checked = "";
            $disabled = 'disabled="disabled"';
            $codigo="";
            foreach ($atividades as $indexAtivi => $valueAtivi) {
                if ($valueAtivi['atividade'] == $value['codigo']) {
                    $valor = $filter->filter($valueAtivi['valor']);
                    $codigo = $valueAtivi['codigo_plano'];
                    $checked = 'checked="checked"';
                    $disabled = "";
                    break;
                }
            }
            
            $table.= '<tr>
                        <td class="tdCheck"><input type="checkbox" id="' . $value['codigo'] . '" ' . $checked . '  class="checkAtiv"/></td>
                        <td class="desc">' . $value['descricao'] . '</td>
                        <td class="tdValores">
                            <input type="text" class="valores input-small" value="' . $valor . '" name="atividade_' . $value['codigo'] . '" alt="decimal" ' . $disabled . '>
                        </td>
                        <td class="tdCodPlano">
                            <input type="text" name="codigo_plano_'.$value['codigo'].'"  value="'.$codigo.'" class="input-small codigo_plano" ' . $disabled . '/>
                        </td>
                      </tr>';
        }

        $table .= '</tbody>
                  </table>';

        $this->getView()->tableAtividade = $table;
    }

}